package com.falcon.domain.req;

import com.falcon.mvc.domain.AbsPageQuery;
import com.falcon.domain.po.DeptPO.Fields;
import com.swan.mybatis.condition.Condition;
import com.swan.mybatis.condition.OpType;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;


/** 部门
* @author zongf
* @since 2024-03-15
*/
@Data
@Accessors(chain = true)
public class DeptQuery extends AbsPageQuery{

    /** 部门ID */
    private Long id;

    /** 创建者 */
    private String creator;

    /** 创建时间 */
    private Date createTime;

    /** 更新者 */
    private String updater;

    /** 更新时间 */
    private Date updateTime;

    /** 是否删除（0-正常 1-删除） */
    private Integer deleted;

    /** 父部门id */
    private Long parentId;

    /** 部门名称 */
    private String name;

    /** 简介 */
    private String introduction;

    /** 部门状态（0-正常 1-停用） */
    private Integer status;

    /** 负责人 */
    private String manager;

    /** 联系电话 */
    private String phone;

    @Override
    public Condition toCondition() {
        Condition condition = Condition.newInstance();

        condition.and(Fields.name, OpType.like, this.name);
        condition.and(Fields.status, OpType.equals, this.status);
        condition.and(Fields.deleted, OpType.equals, this.deleted);
        return condition;
    }

}

